/**
 * Laser
 */
.laser-studio {
    $primaryColor: #888;
    $backgroundColor: #E0E0DF;

    .laser-stage {
        @include flexbox();
        height: 100%;
    }

    .hasShadow {
        .modal-body {
            box-shadow: 0 4px 40px 0px rgba(0, 0, 0, .7);
        }
    }

    .file-importer {
        border-radius: 2px;
        background: #fff;
        color: $primaryColor;
        font-size: 32px;
        font-weight: bold;
        height: 50px;
        letter-spacing: 2px;
        top: -94px;
        width: 200px;
        align-items: center;
        justify-content: center;

        label {
            width: 200px;
            height: 50px;
            padding: 0;
            line-height: 50px;
            text-align: center;
            cursor: pointer;
            display: block;
        }

        input[type="file"] {
            position: static;
        }

        &:hover {
            color: #888;
        }

        &:after {
            border: solid rgba(0, 0, 0, 0);
            border-color: rgba(255, 255, 255, 0);
            border-top-color: #fff;
            border-width: 22px 13px;
            content: ' ';
            height: 0;
            left: 50%;
            margin-left: -13px;
            pointer-events: none;
            position: absolute;
            top: 100%;
            width: 0;
        }
    }

    .operation-table {
        bottom: 0;
        left: 0;
        margin: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
    }

    .operating-panel {
        margin: 0 0 0 30px;
        position: static;
        width: auto;
        z-index: 1;
        align-self: center;

        .material-name {
            max-width: 310px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .custom-presets-wrapper {
            background: #FFF;
            overflow: scroll;
            padding: 0 20px;
            width: 440px;

            .custom-presets-list {
                border: 2px solid $backgroundColor;
                height: 110px;
                list-style: none;
                overflow: scroll;
                padding: 0;

                &:empty {
                    @include flexbox();
                    background: $primaryColor;
                    color: $backgroundColor;
                    align-items: center;
                    justify-content: center;

                    &::after {
                        content: attr(data-empty-message);
                    }
                }

                input[type="radio"] {
                    display: none;

                    &:checked + .preset-item-name {
                        background-color: #E0E0E0;
                        color: #FFF;
                        i {
                          visibility: visible;
                        }
                    }
                }

                .preset-item-name {
                    border-bottom: 1px solid $backgroundColor;
                    color: $primaryColor;
                    cursor: pointer;
                    height: 40px;
                    line-height: 40px;
                    margin: 0;
                    padding: 0 0 0 10px;
                    i {
                      float: right;
                      visibility: hidden;

                    }
                }
            }

            .custom-preset-buttons {
                height: 69px;
                position: static;
                justify-content: flex-end;

                .btn-default {
                    border-radius: 0;
                    font-size: 15px;
                    height: 30px;
                    line-height: 26px;
                    min-width: 66px;
                }
            }
        }

        .caption {
            padding: 0 .3em 0 0;
        }

        .popup-selection {
            @include flexbox();
            height: 40px;
            position: relative;

            ul {
                background: $primaryColor;
                list-style: none;
                padding: 0 10px 10px 10px;

                li {
                    color: $backgroundColor;
                    cursor: pointer;
                    margin: 10px 0 0 0;
                }
            }

            .popup-open {
                display: none;

                &:checked ~ .display-text {
                    background: $primaryColor;
                    color: $backgroundColor;
                }

                &:checked ~ .popup {
                    visibility: visible;
                }
            }

            .display-text {
                p {
                    display: block;
                    margin: 0;
                    width: 257px;
                }
            }
        }

        .object-height-input {
            width: 164px;

            .ui-control-unit-input {
                input[type="text"] {
                    background: rgba(0, 0, 0, 0);
                    border: 2px solid #fff;
                    color: $backgroundColor;
                    font-size: 16px;
                    line-height: 32px;
                    padding: 0 5px;
                    width: 100%;
                }
            }
        }

        .btn-advance {
            background: rgba(0,0,0,0);
            border-radius: 0;
            color: $primaryColor;
            font-size: 1.8rem;
            line-height: 40px;
            margin: 0;
            padding: 0;
            text-align: left;
            width: 100%;
        }

        li {
            font-size: 16px;
            line-height: 40px;
        }

        .main {
            background-color: rgba(0, 0, 0, 0);
            list-style: none;
            padding: 0;
        }
    }

    .laser-object {
        @include absolute-center();
        background: url(../img/laser-platform.png);
        background-size: 100% 100%;
        height: 510px;
        overflow: hidden;
        position: absolute;
        width: 510px;
    }

    .laser-object {
        .ft-container {
            z-index: 1;
        }

        .ft-widget {
            cursor: move;
            max-width: inherit;
            position: fixed;
        }

        .ft-rotator,
        .ft-rotator-line,
        .ft-scaler {
            visibility: hidden;
        }

        .bounce {
            transition: all .3s ease;
        }

        .image-active {
            background: rgba(255, 255, 255, .6);

            & + .ft-controls {
                outline: 1px solid #626262;
            }

            & + .ft-controls {
                outline: 1px solid #626262;

                .ft-rotator,
                .ft-rotator-line,
                .ft-scaler {
                    visibility: visible;
                }
            }
        }
    }

    .zoom .btn {
        height: 28px;
        line-height: 20px;
        margin: 0 12px 0 0;
        min-width: 0;
        padding: 0;
        width: 28px;

        &::before {
            margin: 0;
        }
    }

    .panel {
        position: absolute;
    }

    .object-position {
        @include flexbox();
        font-size: 20px;
        transition: all .1s ease;
        z-index: 1;
        will-change: top,left,transform;

        .accordion-body {
            overflow: visible;
            position: relative;

            .icon-locker {
                bottom: 0;
                cursor: pointer;
                height: 20px;
                left: 100%;
                margin: auto;
                position: absolute;
                top: 0;
                width: 20px;
            }
        }

        .arrow {
            transform: translateY(55px);
        }

        .caption,
        .controls {
            margin: 0;
        }

        .controls {
            background: #FFFFFF;
            display: block;
            margin: 0 0 3px 0;
            padding: 0 20px;
            width: 240px;
        }

        .control {
            font-size: 20px;
            margin: 0 0 10px 0;

            .input-fullsize {
                margin: 0;
                width: 100%;
            }
        }

        .caption {
            @include flexbox();
            color: $primaryColor;
            font-size: 12px;
            line-height: 30px;
            justify-content: space-between;
        }
    }

    .advanced-panel {
        border-radius: 2px;
        background: #FFF;
        padding: 20px 20px 0;
        width: 440px;

        .form {
            margin: 0 0 10px 0;
        }

        .footer {
            margin: 0 0 10px 0;
            position: static;

            .btn {
                min-width: 40px;
                line-height: 30px;
                margin: 0 10px 0 0;
                padding: 0 10px;
                flex: initial;

                &.btn-apply {
                    margin: 0;
                }
            }
        }
    }

    .control {
        @include flexbox();
        color: $primaryColor;
        font-size: 13px;
        height: 40px;
        line-height: 40px;
        align-items: center;
        justify-content: space-around;

        [type="range"] {
            margin: 0 10px 0 0;
            flex: 1 auto;
        }

        .value-text {
            width: 120px;
        }

        .label {
            color: $primaryColor;
            line-height: 1em;
            width: 100px;
            align-self: center;
        }

        .value-text {
            margin: 5px 0 5px 5px;
            padding: 0 5px;

            &::after {
                content: attr(data-tail);
            }
        }
    }
}
